Typically, part of a project manager's job is to track and to report the progress made in completing specific tasks. Project management software has been developed to assist users in this tracking and reporting. Project management software generally allows a user to enter and manipulate tasks, resources, and assignments. A task is a project that needs to be completed. Resources are typically the individuals who complete the tasks. Assignments are the links between tasks and resources. In other words, an assignment is the allocation of a particular resource, or individual, to a particular task. Several resources, or individuals, may be assigned to complete a task. Thus, there may be several assignments for a single task.
Typically, users of project management software need to be able to edit the assignments for a task, such as by adding and removing assignments or editing the amount of total work for an assignment. There are several existing solutions in project management software that allow the user to edit the assignments for a task. One of these solutions is the "split-screen" approach, such as shown in FIG. 1. For the "split-screen" approach, the screen 100 is split into a top half 105 of the screen and a bottom half 110 of the screen.
The top half 105 of the screen shows a particular task 115 that has been selected for editing. The bottom half 110 of the screen shows an editable list 120 of the assignments for the selected task. Each assignment in the editable list 120 of assignments includes a resource name 122 and a work value 124. A user can edit the assignments for the selected task 115 by making changes to the editable list 120 of assignments in the bottom half 110 of the screen.
The "split-screen" approach, shown in FIG. 1, suffers from several drawbacks. One of the drawbacks of the "split-screen" approach is that it is not easily discovered by the user. In other words, many users do not know that the option of splitting a screen is available. Moreover, some users realize that the option of splitting the screen is available, but cannot remember the steps involved in splitting the screen. Splitting the screen typically requires choosing a "split" command from a menu window or by grabbing and dragging a divider in the bottom right comer of the screen.
A second drawback of the "split-screen" approach is that it is awkward to use because the user must switch back and forth between two different screen regions, the top half 105 and the bottom half 110. For instance, to edit assignments for a task, the user selects the particular task 115 that is to be edited in the top half 105 of the screen and then must switch to the bottom half 110 of the screen to make changes to the editable list 120 of assignments.
A third drawback of the "split-screen" approach is the master-slave relationship between the two screen regions 105 and 110. In other words, selecting an item in one screen region controls the contents of the other screen region. For example, editing the editable list 120 of assignments makes changes to the selected task 115 in the top half 105 of the screen. This master-slave relationship can be difficult for users to understand.
Still another drawback of the "split-screen" approach is the problem of focus. The region of the screen with focus is the region of the screen in which keystrokes will be entered. Sometimes, users will type in information that they wish to enter into a first screen region; however, the information is entered into a second screen region because the second screen region has focus. For instance, the user may wish to enter information into the top half 105 of the screen, but it will be entered into the bottom half 110 if the bottom half has focus, or vice versa. It can be difficult for a user to remember which screen region has focus and frustrating when they realize that their keystrokes have been entered into the wrong screen region.
In addition to the "split-screen" approach, project management software provides other solutions that allow a user to edit the assignments for a task. Another solution is a details dialog 200, such as shown in FIG. 2, that lists all of the assignments for a task.
The details dialog 200 suffers from some of the same drawbacks as the "split-screen" approach. First, the details dialog suffers from a lack of discoverability. Typically, the details dialog 200 is entered by either double-clicking a mouse button on a task row, such as task row 115 (FIG. 1), or by choosing a menu item from a menu bar, such as menu bar 125 (FIG. 1). Most users do not discover that a task has a details dialog and, therefore, most users never find the details dialog to make edits. Second, even if users do discover the details dialog, it can be awkward to use because many steps are involved in making simple edits. For example, to add an assignment, the user double-clicks on the task row 115 (FIG. 1), clicks on the "resources" tab 205, scrolls to an empty row 215, clicks in the empty row 215, selects a name from the dropdown in the edit bar 220, and presses the OK button 225. Thus, using the details dialog to make edits is awkward because multiple steps must be performed, even for simple edits.
Still another solution that allows the user to edit assignments is a floating palette, such as floating palette 300 shown in FIG. 3. The floating palette 300 is displayed to the user over the task screen 305 of the project management software. The floating palette 300 lists all the individuals available for assignment in an editable list 320, along with controls for editing the assignments. Similar to the "split-screen" approach, the contents of the floating palette 300 are driven by the selected task 315 in a task list 318 of the task screen 305.
The floating palette 300 suffers from all of the drawbacks of the "split-screen" approach shown in FIG. 1. The floating palette 300 suffers from the problem of discoverability, i.e., the floating palette is not easily discovered by the user. The floating palette 300 is awkward to use because the user must switch back and forth between two different screen regions, the task screen 305 and the floating palette. For instance, to make changes to assignments, the user selects the particular task 315 that is to be edited in the task screen 305 and then switches to the floating palette 300 to make edits to the assignments for the selected task 315.
Another drawback of the floating palette 300 is the master-slave relationship between the floating palette 300 and the task screen 305. Editing the editable list 320 of assignments makes changes to the selected task 315 in the task screen 305. As described above, this master-slave relationship can be difficult for users to understand and can be distracting to the user.
Another drawback of the floating palette 300 is the problem of focus. For instance, the user may wish to enter information in the task screen 305, but it will be entered into the floating palette 300 if the floating palette has focus, or vice versa. It can be difficult for a user to remember which screen region has focus and frustrating when they realize that the keystrokes they have entered have been entered into the wrong screen region.
Therefore, there is a need in the art for a project management program module that simplifies the process of editing assignments. There is a further need for a project management program module that provides a solution for editing assignments that is easily discoverable. There is still a further need for a project management program module that provides a solution for editing assignments that does not cause confusion over which screen region has focus. There is a further need for a project management program module that provides a solution for editing assignments that does not involve a master-slave relationship.